/***************************************************************************\
 * The Mattise Kernel														*
 * Copyright 2007 Matthew Iselin											*
 * Licensed under the GPL													*
 *																			*
 * mouse.h																	*
 *																			*
 * Handles PS2 mouse input.													*
 *																			*
\***************************************************************************/

#ifndef PS2_MOUSE_H
#define PS2_MOUSE_H

// mouse data
typedef struct tagMOUSEDATA
{
	union {
		struct {
			unsigned int leftbut:1;
			unsigned int rightbut:1;
			unsigned int midbut:1;
			unsigned int always1:1;
			unsigned int xsign:1;
			unsigned int ysign:1;
			unsigned int xover:1;
			unsigned int yover:1;
		} StatData;
		unsigned char status;
	} MouseStatus;
	char xmove;
	char ymove;
} MOUSEDATA;

// init the mouse
void mouseInit();

// get data from the mouse
void GetMouseData( MOUSEDATA* data );

#endif
